package com.hope.hotel.service;

import com.hope.hotel.common.Result;
import com.hope.hotel.entity.po.Message;
import com.hope.hotel.entity.vo.MessageVO;

import java.util.List;

/**
 * 消息通知服务接口
 */
public interface MessageService {
    
    /**
     * 获取用户消息列表
     * @param userId 用户ID
     * @param page 页码
     * @param pageSize 每页大小
     * @return 消息列表
     */
    Result<List<MessageVO>> getUserMessages(String userId, Integer page, Integer pageSize);
    
    /**
     * 标记消息为已读
     * @param messageId 消息ID
     * @param userId 用户ID
     * @return 操作结果
     */
    Result markAsRead(Integer messageId, String userId);
    
    /**
     * 删除消息
     * @param messageId 消息ID
     * @param userId 用户ID
     * @return 操作结果
     */
    Result deleteMessage(Integer messageId, String userId);
    
    /**
     * 创建系统消息
     * @param message 消息实体
     * @return 操作结果
     */
    Result createMessage(Message message);
    
    /**
     * 获取用户未读消息数量
     * @param userId 用户ID
     * @return 未读消息数量
     */
    Result<Integer> getUnreadCount(String userId);
} 